The Transmission Control Protocol (TCP) and Internet Protocol (IP) protocol uses a variable-size data window for acknowledgment messages in response to a received data. When a network connection between devices is established, the initial acknowledgement of the handshake and each subsequent acknowledgment sent by a receiver device contains an updated data window size. A sender device (e.g., one of the devices connected to the network) of the data can stream an unbound length of data, and the sender device may send up to the data window size announced by the receiver device (e.g., one of the devices connected to the network). Each acknowledgement confirms receipt of up to a point of the first missing fragment of the data, so that the sender device can continue to, or after some time, repeat the transmission of the data from that point.
In a mesh network, such as ZigBee, fragmentation is defined within the Application Support System (APS) with a preset fixed window size by number of packets. The acknowledgment for one window can selectively acknowledge receipt of each fragment, so that the sender device can repeat only the necessary packets.